import React, { Component } from 'react'

export default class Count extends Component {
  constructor() {
    super()
    // this.属性 = 值
    // 构造器的this一定是当前组件实例
    // this.count = 0 // 这个只能说是组件的私有数据,不是状态
    this.state = {
      count: 0,
      msg: 'hello state',
    } //这个才是组件状态
  }
  render() {
    // console.log('render执行了')
    // render函数中的this也一定是当前组件实例
    return (
      <div>
        <p>{this.state.count}</p>
        <button
          onClick={() => {
            // 作用: 1. 修改state里面的数据 2. 可以让组件更新
            // setState是异步的
            this.setState({
              // count: 目标值
              count: this.state.count + 1, //count:1
            })
            // 这样修改数据,不会导致组件更新,也就意味着页面不会重新渲染
            // this.state.count = this.state.count + 1
            console.log(this.state.count)
          }}
        >
          +
        </button>
      </div>
    )
  }
}
